﻿using System;
using System.Collections.Generic;

namespace Sasa.QualityTools.CodeAnalysis.Core.VisualStudio
{
    public interface ISolution
    {
        string ConfigurationDir { get; }

        bool HasFxCopProjectFile { get; }

        string FxCopProjectPath { get; }

        string ConfigurationPath { get; }

        string FxCopDictionaryPath { get; }

        IProject CurrentProject { get; }

        IEnumerable<IProject> SelectedProjects { get; }


        bool Build();

        void Open(string path, int? line);

        IProject AddSolutionFolder(string name);

        IProject FindProjectByUniqueName(string uniqueName);

        IEnumerable<IProject> GetBuildTargetProjects(bool onlyShouldBuildProject);
    }
}
